package com.norman.sorry.core.cards;

/**
 * Represents a deck of cards that is drawn form during the game. This interface
 * requires a few basic methods that are critical to the game.
 * 
 * @author Brian Norman
 * @version 0.0.1 beta
 * @since 0.0.1 beta
 */
public interface IDeck {

   /**
    * Returns the next card off the top of the deck. If there are no more cards,
    * the deck should automatically reshuffle.
    * 
    * @return the next card off the top of the deck.
    */
   public ICard next();

   /**
    * Puts all cards back in the deck and shuffles it.
    */
   public void shuffle();

}
